import {UserService} from "./user.service";
import {UserController} from "./user.controller";
import {TypeOrmModule} from "@nestjs/typeorm";
import {UserEntity} from "./user.entity";
import {UserDao} from "./user.dao";
import {Module} from "@nestjs/common";
import {PassportModule} from "@nestjs/passport";
import {LocalStrategy} from "./strategy/local.strategy";
import {JwtStrategy} from "./strategy/jwt.strategy";
import {MailModule} from "../common/mail/mail.module";
import {DatabaseModule} from "../common/database/database.module";
import {KnowledgeGraphModule} from "../knowledgeGraph/knowledgeGraph.module";
import {UserActionModule} from "../common/userAction/userAction.module";


@Module({
    imports: [
        TypeOrmModule.forFeature([
            UserEntity
        ]),
        PassportModule,
        MailModule,
        DatabaseModule,
        KnowledgeGraphModule,
        UserActionModule
    ],
    controllers: [UserController],
    providers: [UserService, UserDao, LocalStrategy, JwtStrategy],
    exports: [UserService, UserDao]
})
export class UserModule {
}
